<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="copyright" content="Copyright (c) 2006, 2007 PalmSource, Inc. and others. This page is made available under license. For full details see the LEGAL notice in the documentation book that contains this page." />
<link rel="stylesheet" type="text/css" href="../org.eclipse.cdt.doc.user/book.css" />
<title>Launching Remote C/C++ Applications</title>
</head>
<!--
Copyright (c) 2006, 2007 PalmSource, Inc. and others
All rights reserved. This program and the accompanying materials 
are made available under the terms of the Eclipse Public License v1.0 
which accompanies this distribution, and is available at 
http://www.eclipse.org/legal/epl-v10.html 

Contributors: 
Ewa Matejska (PalmSource) - initial API and implementation 
Martin Oberhuber (Wind River) - fix 158529: Migrate docs to HTML / TOC format
Dave Dykstal (IBM) - fix 174770: SAX Parse exceptions in Eclipse 3.3 
Wainer S. Moschetta (IBM) - bug 452356: replace RSE with org.eclipse.remote
-->

<body id="tremotecdt"><a name="tremotecdt"><!-- --></a>
<h1 class="topictitle1">Launching Remote C/C++ Applications</h1>
<div class="p">
<p>The remote CDT launch Plugin builds on top of CDT and integrates with Eclipse remote framework (org.eclipse.remote)
to introduce a "Remote C/C++ Application" launch configuration. This launch configuration relies 
on the shell and file services of the remote framework's connections.</p>

<p>The "Remote C/C++ Application" launch configuration enables the user to select from a list of connections which have the shell service available. For a debug launch, the binary is downloaded
to the remote using the file service of the remote framework's connection, gdbserver is automatically started 
on the remote using the shell service and a gdb debug connection is establised.  For a run launch,
the binary is downloaded to the remote using the file service and then it is invoked using the shell
service.</p>

<p>In the future, a file service should be used to select where the remote download
should take place. Right now the remote path is entered manually in a text field.</p>
</div>

<h2>System Prerequisites</h2>
<div class="p"><b>Local Host</b>
<ul>
  <li>It is necessary to create an connection which has the file and shell services 
     available.</li>
</ul></div>

<div class="p"><b>Remote Host</b>
<ul>
  <li>gdbserver is on the path.</li>
  <li>port 2345 is available to use. gdbserver will use this port.</li>
</ul></div>

<h2>Using</h2>
<div class="p">
<p>A "Remote C++ Application" launch configuration will be available.  
After building a binary which will run on your remote, try using this 
configuration to run or debug it.</p>
</div>

<h2>Current Limitations</h2>
<div class="p">
<p>There is no way to tell when the command on the remote has finished 
running.  As a result, the "Remote Shell" process will be left active
after the debug session dies and needs to be terminated manually. The
run process also needs to be terminated manually for the same reason.</p>
</div>

</body>
</html>